package Table;

import java.util.Vector;

import javax.swing.table.AbstractTableModel;

public class MyTableModel extends AbstractTableModel{
	
	private Vector<String> columnName;
	private Vector<Vector<Object>> tableValueV;	
	
	public MyTableModel(Vector columnName,Vector tableValueV ){
		this.columnName = columnName;
		this.tableValueV = tableValueV;
	}
	
	/**
	 * 返回表格列总数
	 * @return 列总数
	 */
	public int getColumnCount() {
		
		return columnName.size();
	}

	/**
	 * 返回表格行总数
	 * @return 行总数
	 */
	public int getRowCount() {
		
		return tableValueV.size();
	}

	/**
	 * 返回表格列名
	 */
	public String getColumnName(int columnIndex){
		
		return columnName.get(columnIndex);
	}
	
	/**
	 * 返回单元格的值
	 * @param rowIndex 行号
	 * @param columnIndex 列号
	 * @return
	 */
	public Object getValueAt(int rowIndex, int columnIndex) {
		if(columnIndex == 4){ //更新界面的第五列为按钮
			return null;
		}
		return tableValueV.get(rowIndex).get(columnIndex);	
	}
	
	
	/**
     * 按照数值排序
     */
    public Class getColumnClass(int columnIndex) {
    	if(getValueAt(0, columnIndex) != null){
    		return getValueAt(0, columnIndex).getClass();
    	}
		return null;
    	
    }
	
	/**
	 * 单元格是否可以编辑
	 * @param rowIndex 行号
	 * @param columnIndex 列号
	 * @return
	 */
	public boolean isCellEditable(int rowIndex, int columnIndex) {

		return false;	 
	}
	
	
	/**
	 * 设定表格标题栏
	 * @param columnName Vector向量
	 */
	public void setColumnName(Vector columnName){
		
		this.columnName = columnName;
	}
	
	/**
	 * 设定表格内容
	 * @param rows Vector向量
	 */
	public void setRows(Vector tableValueV){
		
		this.tableValueV = tableValueV;
	}

	
	
	
	
}
